Systems and methods for capturing electronic signatures

ABSTRACT

Methods and systems for generating electronic signatures are disclosed. In some embodiments, the method includes: storing pixel features of a signing device; capturing, via an imaging device, a plurality of image frames including the pixel features of the signing device; identifying in the plurality of image frames, by a processor, first pixels matching the stored pixel features of the signing device; generating, by the processor, a first image including the identified pixels; and connecting, by the processor, the identified pixels to form at least one line drawing representing a signature.

This application is a continuation of U.S. patent application Ser. No.16/129,928, filed on Sep. 13, 2018, currently pending, the disclosure ofwhich is expressly incorporated herein by reference in its entirety. Thepresent disclosure generally relates to capturing and generatingelectronic signatures, and more particularly, to a system and method forcapturing an electronic signature based on the movement of a finger orobject in the air.

TECHNICAL FIELD Background

Electronically or digitally created signatures have been used more andmore frequently in daily life. Currently, there are several ways toelectronically capture a user's real signature. For example, the usercan handwrite her signature on a piece of paper and then hold the paperin front of a camera such that the camera can take an image of thepaper. Subsequently, the signature can be extracted from the image andsaved in a digital form. As another example, the user can upload ascanned copy of a previously signed document to a computer, which thenrecognizes the signature on the scanned document and saves it in adigital form. For yet another example, the user can draw the signatureby moving a mouse or trackball, or sliding a finger or pen on atouch-screen or trackpad.

These electronic signature capturing technologies makes it feasible togenerate an electronic signature mimicking the user's real, handwrittensignature, and thus have been widely used in various computerizedtransactions. For example, the user can electronically sign a documentonline, without the need of printing the document, physically signingit, and mailing the signed document to the recipient. Moreover, with theuser's permission, the electronic signature can be reused for multipledocuments, thereby saving the user the trouble of repeatedly signingmultiple documents. As another example, a retailer can collectcustomers' electronic signatures at a point-of-sale (POS) terminal, andthus avoid the process of print paper receipts, requesting that thecustomers sign the receipts, and storing or archiving the signedreceipts.

However, the existing methods for capturing an electronic signature arestill burdensome because they require the presence of extra devices suchas scanner, mouse, track ball, trackpad, touch-screen, etc., which maynot be available in many settings. For example, it may not be feasiblefor a mobile POS machine or an automated teller machine (ATM) to carry amouse or touch-screen. Moreover, the existing methods require people towrite on a device (e.g., paper, touch-screen, trackpad) or manipulate adevice (e.g., mouse, trackball) to create an electronic signature. Thismay be challenging to physically impaired people. For example, patientssuffering from hand or finger arthritis often find it difficult,painful, or even impossible to use a mouse, touch-screen, or the like.

BRIEF SUMMARY

The disclosed embodiments include cloud-based content-sharing systemsand methods.

In one embodiment, a computer-implemented method for generatingelectronic signatures is disclosed. The method includes storing pixelfeatures of a signing device. The method also includes capturing, via animaging device, a plurality of image frames including the pixel featuresof the signing device. The method also includes identifying in theplurality of image frames, by a processor, first pixels matching thestored pixel features of the signing device. The method also includesgenerating, by the processor, a first image including the identifiedpixels. The method further includes connecting, by the processor, theidentified pixels to form at least one line drawing representing asignature.

In another embodiment, a computer-implemented method for generatingelectronic signatures is disclosed. The method includes capturing, viaan imaging device, a plurality of image frames of a finger. The methodalso includes identifying in the plurality of image frames, by aprocessor, first pixels representing the finger, based on pixel featuresof the first pixels. The method also includes generating, by theprocessor, a first image including the identified pixels. The methodfurther includes connecting, by the processor, the identified pixels toform at least one line drawing representing a signature.

In another embodiment, a system for generating electronic signatures isdisclosed. The system includes an imaging device. The system alsoincludes a memory storing instructions. The system further includes aprocessor in communication with the imaging device, the processor beingconfigured to execute the instructions to: storing pixel features of asigning device; control the imaging device to capture a plurality ofimage frames showing the signing device; identify, in the plurality ofimage frames, pixels matching the recognized pixel features of thesigning device; generate a first image including the identified pixels;connect the identified pixels to form at least one line drawingrepresenting a signature.

Aspects of the disclosed embodiments may include non-transitory,tangible computer-readable media that store software instructions that,when executed by one or more processors, are configured for and capableof performing and executing one or more of the methods, operations, andthe like consistent with the disclosed embodiments. Also, aspects of thedisclosed embodiments may be performed by one or more processors thatare configured as special-purpose processor(s) based on softwareinstructions that are programmed with logic and instructions thatperform, when executed, one or more operations consistent with thedisclosed embodiments.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the disclosed embodiments, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate exemplary disclosed embodimentsand, together with the description, serve to explain the disclosedembodiments. In the drawings:

FIG. 1 is a schematic diagram illustrating an exemplary system forcapturing an electronic signature, consistent with disclosedembodiments.

FIG. 2 is a block diagram of an electronic signature engine used in thesystem of FIG. 1, consistent with disclosed embodiments.

FIG. 3 is a flowchart of an exemplary method for generating anelectronic signature, consistent with disclosed embodiments.

FIG. 4 is a flowchart of an exemplary method for connecting pixelscorresponding to signing device, consistent with disclosed embodiments.

FIG. 5 is a flowchart of an exemplary method for registering a signingdevice, consistent with disclosed embodiments.

FIG. 6 is a flowchart of an exemplary method for generating anelectronic signature based on user feedback, consistent with disclosedembodiments.

FIG. 7 is a flowchart of an exemplary method for editing an electronicsignature, consistent with disclosed embodiments.

DETAILED DESCRIPTION

Reference will now be made to exemplary embodiments, examples of whichare illustrated in the accompanying drawings and disclosed herein.Wherever convenient, the same reference numbers will be used throughoutthe drawings to refer to the same or like parts.

As used in the present disclosure, “electronic signature” or “digitalsignature” refers to image data representing a user's real signature,i.e., a digital form of line drawing that constitutes the user'shandwritten signature, rather than a conformed signature (a.k.a.,s-signature). The disclosed embodiments are directed to a system andmethod for capturing such electronic or digital signature. Inparticular, the disclosed system includes an imaging device forcapturing images of the user's finger or an object (e.g., a laserpointer) held by the user. In the following description, the finger andobject are collectively referred to as “signing device.” To create anelectronic signature, the user can wave the finger or object in front ofthe imaging device, to form a pattern mimicking the user's handwrittensignature. The system uses image recognition algorithms to recognize thepattern from the captured images and generate an electronic signaturebased on the recognized pattern.

FIG. 1 is a schematic diagram illustrating an exemplary system 100 forcapturing electronic signatures, consistent with disclosed embodiments.Referring to FIG. 1, system 100 may include an imaging device 102, userterminal(s) 104, an electronic signature engine 106, a network 108,server(s) 110, and database(s) 112. The components and arrangement ofthe components included in system 100 may vary. Thus, system 100 mayfurther include other components or devices that perform or assist inthe performance of one or more processes consistent with the disclosedembodiments. The components and arrangements shown in FIG. 1 are notintended to limit the disclosed embodiments, as the components used toimplement the disclosed processes and features may vary.

Imaging device 102 may be a digital camera, a web camera, acharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) image sensor, etc. In operation, a user may move a signing device114 in front of imaging device 102. Signing device 114 may be a fingerof the user or an object held by the user. In the disclosed embodiments,imaging device 102 can capture images or videos of signing device 114.

User terminal 104 may be a personal computer, a laptop, a tablet, amobile phone, a smart phone, a kiosk, an automated teller machine (ATM),a Point-of-Sale (POS) machine, etc. In some embodiments, imaging device102 is integrated into user terminal 104. In some embodiments, imagingdevice 102 is in communication with user terminal 104, such that imagingdevice 102 can be controlled by user terminal 104 to take images orvideos of signing device 114, and/or transmit the images or videos ofsigning device 114 to user terminal 104.

Electronic signature engine 106 may be implemented using differentequipment, such as one or more supercomputers, one or more personalcomputers, one or more servers, one or more mainframes, one or moremobile devices, or the like. In some embodiments, electronic signatureengine 106 may comprise hardware, software, and/or firmware modules.Electronic signature engine 106 may be configured to enable thecapturing and generating of a digital signature. For example, electronicsignature engine 106 may control imaging device 102 to take images orvideos of signing device 114, and/or cause imaging device 102 to sendthe captured images or videos to electronic signature engine 106 forprocessing. Electronic signature engine 106 may also be configured torecognize signing device 114 in the captured images or videos andgenerate an electronic signature based on movement of signing device114.

In some embodiments, electronic signature engine 106 may be stored inuser terminal 104. For example, electronic signature engine 106 may beimplemented in a user's personal computer which includes a camera (e.g.,imaging device 102), such that the user can use the personal computer tocapture her electronic signature. As another example, electronicsignature engine 106 may be implemented in an ATM machine that has acamera function. Electronic signature engine 106 may control the ATMmachine to capture the user's electronic signature, and provide it to afinancial service provider (e.g., a bank, credit union, credit cardissuer, or other type of financial service entity). As yet anotherexample, electronic signature engine 106 may be implemented in a POSterminal operated by a merchant, who can use the POS terminal to capturea customer's electronic signature.

Network 108, in some embodiments, may comprise one or moreinterconnected wired or wireless data networks that receive data fromone device (e.g., user terminal 104 or electronic signature engine 106)and send it to another device (e.g., server 110 or database 112). Forexample, network 108 may be implemented as one or more of the Internet,a wired Wide Area Network (WAN), a wired Local Area Network (LAN), awireless LAN (e.g., IEEE 802.11, Bluetooth, etc.), a wireless WAN (e.g.,WiMAX), and the like. Each component in system 100 may communicatebidirectionally with other system 100 components either through computernetwork 108 or through one or more direct communication links, (not allare shown).

Server 110 may be a single server or may be configured as a distributedcomputer system including multiple servers or computers thatinteroperate to perform one or more of the processes and functionalitiesassociated with the disclosed embodiments. Server 110 may be implementedusing a variety of different equipment, such as a supercomputer,personal computer, a mainframe, a mobile device, or the like. Server 110may include multiple modules or nodes working collaboratively to runvarious applications, software modules, analytical modules, ruleengines, etc.

In some embodiments, electronic signature engine 106 may be stored inserver 110. For example, while the user waves signing device 114 to drawa pattern in the air that represents her signature, image device 102and/or user terminal 104 may capture images of signing device 114 andtransmit the images to server 110 via network 108. Electronic signatureengine 106 running on server 110 may analyze the images and generateimage data representing an electronic signature. Electronic signatureengine 106 may also affix the electronic signature to a document andtransmit the “signed” document to user terminal 104 for displaying tothe user. In some embodiments, one or more components of electronicsignature engine 106 may be placed behind a load balancer to supporthigh availability and ensure real-time (or near real-time) processing ofdata representing a user signature, consistent with disclosedembodiments.

Database 112 may be configured to store information consistent with thedisclosed embodiments. In some aspects, components of system 100 (shownand not shown) may be configured to receive, obtain, gather, collect,generate, or produce information to store in database 112. In certainembodiments, for instance, user terminal 104, electronic signatureengine 106, and/or server 110 may deposit the captured signature data todatabase 112 for storage over communications network 108. By way ofexample, database 112 may store information associated with a user'selectronic signature. The information may include the user's personalinformation and contact information, transaction information, documentssigned by the user, and/or other information. In other aspects,components of system 100 may store information in database 112 withoutusing a computer network 108 (e.g., via a direct connection).

FIG. 2 is a block diagram of an exemplary electronic signature engine106 configured to perform functions of the disclosed methods, consistentwith disclosed embodiments. As shown, electronic signature engine 106may include one or more processor 260, input/output (“I/O”) devices 270,and memory 280 storing data and programs 282 (including, for example,operating system 288). As noted above, electronic signature engine 106may be part of a user device (e.g., user terminal 104) that has a camerafunction (e.g., imaging device 102). Alternatively or additionally,electronic signature engine 106 may be a single server or may beconfigured as a distributed computer system including multiple serversor computers (e.g., server 110) that interoperate to perform one or moreof the processes and functionalities associated with the disclosedembodiments. In some embodiments, electronic signature engine 106 isspecially configured with hardware and/or software modules forperforming functions of disclosed methods. For example, electronicsignature engine 106 may include programs 282 (including operatingsystem 288) and/or electronic signature module(s) 292. The modules canbe implemented as specialized circuitry integrated within processor 260or in communication with processor 260, and/or specialized softwarestored in memory 280 (as depicted in FIG. 2) executable by processor260.

Processor 260 may be one or more known or custom processing devicesdesigned to perform functions of the disclosed methods, such as a singlecore or multiple core processors capable of executing parallel processessimultaneously. For example, processor 260 may be configured withvirtual processing technologies. In certain embodiments, processor 260may use logical processors to execute and control multiple processessimultaneously. Processor 260 may implement virtual machinetechnologies, including a Java® Virtual Mmachine, or other knowntechnologies to provide the ability to execute, control, run,manipulate, store, etc., multiple software processes, applications,programs, etc. In another embodiment, processor 260 may include amultiple-core processor arrangement (e.g., dual core, quad core, etc.)configured to provide parallel processing functionalities to allowelectronic signature engine 106 to execute multiple processessimultaneously. One of ordinary skill in the art would understand thatother types of processor arrangements could be implemented that providefor the capabilities disclosed herein.

Electronic signature engine 106 may also include one or more I/O devices270 that may comprise one or more interfaces for receiving signals orinput from devices and providing signals or output to one or moredevices that allow data to be received and/or transmitted by electronicsignature engine 106. Electronic signature engine 106 may also includeinterface components that display information and/or provide interfacesto one or more input devices, such as one or more keyboards, mousedevices, and the like, that enable electronic signature engine 106 toreceive input from a user (not shown).

Electronic signature engine 106 may include memory configured to storeinformation used by processor 260 (or other components) to performcertain functions related to the disclosed embodiments. In one example,electronic signature engine 106 may include memory 280, comprising oneor more storage devices, that store instructions to enable processor 260to execute one or more applications or software known to be available oncomputer systems. Alternatively or additionally, the instructions,application programs, etc., may be stored in an internal database orexternal storage (not shown) in direct communication with electronicsignature engine 106, such as one or more database or memory accessibleover network 108. The internal database and external storage may be avolatile or non-volatile, magnetic, semiconductor, tape, optical,removable, non-removable, or other type of storage device or tangible(i.e., non-transitory) computer-readable medium.

Electronic signature engine 106 may also be communicatively connected toone or more remote memory devices (e.g., remote databases (not shown))through network 108 or a different network. The remote memory devicesmay be configured to store information (e.g., structured,semi-structured, and/or unstructured data) and may be accessed and/ormanaged by electronic signature engine 106. By way of example, theremote memory devices may be document management systems, Microsoft® SQLdatabase, SharePoint® databases, Oracle® databases, Sybase™ databases,or other relational databases. Systems and methods consistent withdisclosed embodiments, however, are not limited to separate databases oreven to the use of a database.

In one embodiment, electronic signature engine 106 may include memory280 that includes instructions that, when executed by processor 260,perform one or more processes consistent with the functionalitiesdisclosed herein. Methods, systems, and articles of manufactureconsistent with disclosed embodiments are not limited to separateprograms or computers configured to perform dedicated tasks. Forexample, electronic signature engine 106 may include memory 280 thatstores instructions constituting one or more programs 282 and/orelectronic signature modules 292 to perform one or more functions of thedisclosed embodiments. Moreover, processor 260 may execute one or moreprograms located remotely from system 100. For example, electronicsignature engine 106 may access one or more remote programs, that, whenexecuted, perform functions related to disclosed embodiments.

Memory 280 may include one or more memory devices that store data andinstructions used to perform one or more features of the disclosedembodiments. For example, memory 280 may represent a tangible andnon-transitory computer-readable medium having stored therein computerprograms, sets of instructions, code, or data to be executed byprocessor 260. Memory 280 may include, for example, a removable memorychip (e.g., EPROM, RAM, ROM, DRAM, EEPROM, flash memory devices, orother volatile or non-volatile memory devices) or other removablestorage units that allow instructions and data to be accessed byprocessor 260.

Memory 280 may also include any combination of one or more relationaland/or non-relational databases controlled by memory controller devices(e.g., server(s), etc.) or software, such as document managementsystems, Microsoft® SQL database, SharePoint® databases, Oracle®databases, Sybase™ databases, other relational databases, ornon-relational databases such as key-value stores or NoSQL™ databasessuch as Apache HBase™. In some embodiments, memory 280 may comprise anassociative array architecture, such as a key-value storage, for storingand rapidly retrieving large amounts of information.

Programs 282 stored in memory 280 and executed by processor(s) 260 mayinclude one or more operating system 288. Programs 282 may also includeone or more machine learning, trending, and/or image recognitionapplications (not shown) that cause processor(s) 260 to execute one ormore processes related to recognizing signing device 114 and determininga signature pattern formed by signing device 114.

FIG. 3 is a flowchart of an exemplary method 300 for generating anelectronic signature, consistent with disclosed embodiments. Forexample, method 300 may be performed by electronic signature engine 106.As described above, a user may move her finger or an object in the airto draw a pattern representing a real signature of the user. Consistentwith the disclosed embodiments, method 300 may be used in electronicsignature engine 106 to capture the pattern and generate an electronicsignature based on the pattern. Referring to FIG. 3, method 300 mayinclude the following steps.

In step 302, electronic signature engine 106 recognizes signing device114 in an image taken by imaging device 102. Consistent with thedisclosed embodiments, signing device 114 may be the user's finger orhand, or an object held by the user. The object may have distinct pixelfeatures, such as distinct color, brightness, shape, etc., such thatelectronic signature engine 106 can distinguish the object from thesurrounding environment based on the pixel features. For example, theobject may be a light-emitting device (e.g., a laser pointer, aflashlight on a mobile phone) capable of emitting light, a brightlycolored object (e.g., orange, red, or yellow colored object), or anobject with a predetermined shape (e.g., a pen-shaped object).

In exemplary embodiments, electronic signature engine 106 may acquire animage of signing device 114 and run an image recognition algorithm torecognize signing device 114 in the image. For example, electronicsignature engine 106 may use a finger or hand recognition program torecognize a finger based on the finger's color or shape. As anotherexample, electronic signature engine 106 may recognize signing device114 based on the contrast of color or brightness between signing device114 and the background.

In step 304, electronic signature engine 106 stores pixel features ofsigning device 114. The pixel features may include color information,greyscale values, or shape information of signing device 114. In someembodiments, color information (or color information value(s)) mayinclude, for example, a red-green-blue (RGB) value, acyan-magenta-yellow-black (CMYK) value, a hue-saturation-lightness (HSL)value, a hue-saturation-value (HSV) value, a HEX value, a pantonematching system (PMS) value, and/or any other system that would definethe appearance of a pixel. In some embodiments, to extract the shapeinformation of signing device 114, electronic signature engine 106 mayconvert a greyscale image containing signing device 114 to a binaryimage, and determine a foreground in the binary image as signing device114.

In step 306, when the user moves signing device 114 to draw a signaturein the air, electronic signature engine 106 acquires a plurality ofimage frames of signing device 114. For example, electronic signatureengine 106 may control imaging device 102 to capture the plurality ofimage frames successively in time.

In step 308, in each of the plurality of image frames, electronicsignature engine 106 recognizes signing device 114 by identifying pixelsmatching the pixel features of signing device 114. For example,electronic signature engine 106 may identify pixels matching the color,brightness, or shape of signing device 114.

In step 310, electronic signature engine 106 combines the pixelsidentified from the plurality of image frames and plots them in a singleimage.

In step 312, in the single image, electronic signature engine 106connects the identified pixels to form at least one line drawingrepresenting the signature of the user.

In connecting the identified pixels to form the at least one linedrawing representing a signature (step 312), the disclosed methods alsoinclude features for smoothing the line drawing(s), so as to make theelectronic signature look more like the user's real handwrittensignature. FIG. 4 is a flowchart of an exemplary method 400 forconnecting pixels corresponding to signing device 114, consistent withdisclosed embodiments. In step 402, electronic signature engine 106interpolates the identified pixels in the single image to generateadditional pixels. In step 404, electronic signature engine 106 connectsthe identified pixels with the additional pixels to form at least oneline drawing representing the signature of the user. In the disclosedembodiments, other techniques can also be used to smooth the linedrawing(s). For example, the plurality of image frames may be capturedat an increased frame rate, such that the amount of needed interpolation(step 402) can be reduced.

As described above, signing device 114 may be a finger, a hand, or anyobject held by the user. When electronic signature engine 106 works inthe finger or hand based mode, electronic signature engine 106 canrecognize the finger or hand based on their skin color. However, whenelectronic signature engine 106 works in the object based mode, it needsto know what object is selected by the user as the signing device. FIG.5 is a flowchart of an exemplary method 500 for registering a signingdevice, consistent with disclosed embodiments. Referring to FIG. 5,method 500 includes the following steps.

In step 502, the user activates imaging device 102. When the userselects an object as signing device 114, the user may place the selectedobject in front of imaging device 102 to fill most of the image frametaken by imaging device 102. In step 504, electronic signature engine106 controls imaging device 102 to capture an image of the object. Instep 506, electronic signature engine 106 determines whether the objectoccupies more than a predetermined percentage of the image. If theobject occupies more than the predetermined percentage of the image,electronic signature engine 106 proceeds to step 508 and determines thatthe object is the selected signing device 114. However, if the objectdoes not occupy more than the predetermined percentage of the image,electronic signature engine 106 determines that the object is not theselected signing device 114. Consistent with the disclosed embodiments,steps 504 and 506 may be repeated until electronic signature engine 106determines an imaged object to be the signing device 114.

Consistent with the disclosed embodiments, after the electronicsignature is generated, electronic signature engine 106 may display theelectronic signature to the user and ask the user to confirm whether sheis satisfied with the electronic signature. FIG. 6 is a flowchart of anexemplary method 600 for generating an electronic signature based onuser feedback, consistent with disclosed embodiments. Referring to FIG.6, in step 602, electronic signature engine 106 generates at least oneline drawing representing a signature. For example, the line drawing maybe generated according to method 300. In step 604, electronic signatureengine 106 displays the at least one line drawing in a graphical userinterface (GUI). For example, the GUI may be implemented on userterminal 104. Electronic signature engine 106 may also control the GUIto display a message requesting the user to approve the line drawing(s).In step 606, electronic signature engine 106 receives a user input anddetermines whether the user approves the line drawing(s) based on theuser input. If it is determined that the user approves the linedrawing(s), electronic signature engine 106 moves to step 608 and savesthe at least one line drawing as an electronic signature. If it isdetermined that the user does not approve the line drawing(s),electronic signature engine 106 generates a ready signal indicating thatimaging device 102 is ready to capture another signature and promptingthe user to record a new signature.

The disclosed methods also provide a variety of mechanisms for adding aspace or a punctuation mark in a captured electronic signature, orrecognizing a break between two separate parts (e.g., a break at whichthe lines forming a signature is broken) of the captured electronicsignature. FIG. 7 is a flowchart of an exemplary method 700 for editingan electronic signature, consistent with disclosed embodiments.Referring to FIG. 7, method 700 may include the following steps.

In step 702, concurrently with or after the generation of the at leastone line drawing representing a signature, electronic signature engine106 also determines various features of sign device 114 or the linedrawing(s), based on the plurality of image frames of signing device114. For example, electronic signature engine 106 may determine a movingdirection or distance of signing device 114 during the capturing of thesignature. As another example, when multiple line drawings aregenerated, electronic signature engine 106 may determine a time sequenceof the line drawings. As another example, when signing device 114 is ahand or finger, electronic signature engine 106 may determine whetherany hand gesture is formed during the capturing of the signature.

In step 704, electronic signature engine 106 adds a space, a punctuationmark, or a break to the generated electronic signature based on thedetermination result in step 702. In the disclosed embodiments,electronic signature engine 106 avoids interpolating at the spaces,punctuations, and breaks.

In some embodiments, when it is determined that signing device 114significantly changes its moving direction during the capturing of thesignature, electronic signature engine 106 adds a space, a punctuationmark, or a break in the line drawing(s) representing the signature.

In some embodiments, when it is determined that signing device 114 movesalong certain direction for longer than a predetermined distance duringthe capturing of the signature, electronic signature engine 106 adds aspace, a punctuation mark, or a break in the line drawing(s)representing the signature.

In some embodiments, when signing device 114 is a hand or finger and itis determined that the hand gesture changes or a particular gesture isformed (e.g., retracting index finger to form a fist), electronicsignature engine 106 adds a space, a punctuation mark, or a break in theline drawing(s) representing the signature.

In some embodiments, when multiple line drawings representing signaturesare generated at different points in time, electronic signature engine106 may add a space, a punctuation mark, or a break to separate themultiple line drawings.

Electronic signature engine 106 may also provide a means for the user topost-edit the generated electronic signature. In step 706, electronicsignature engine 106 displays, in a GUI (e.g., in a user interface ofuser terminal 104), the at least one line drawing representing thesignature and a message prompting the user to edit the line drawing(s).Electronic signature engine 106 may subsequently detect user input onthe GUI for editing the at least one line drawing. For example, the usermay erase certain parts of the line drawing(s) or enter a command foradding a space, a punctuation mark, or a break to the line drawing(s).

In step 708, electronic signature engine 106 modifies the at least oneline drawing according to the user input and generates a messageprompting the user to confirm the modification. If the user confirms themodification, electronic signature engine 106 saves the modified linedrawing(s) as an electronic signature.

Descriptions of the disclosed embodiments are not exhaustive and are notlimited to the precise forms or embodiments disclosed. Modifications andadaptations of the embodiments will be apparent from consideration ofthe specification and practice of the disclosed embodiments. Forexample, the described implementations include hardware, firmware, andsoftware, but systems and techniques consistent with the presentdisclosure may be implemented as hardware alone. Additionally, thedisclosed embodiments are not limited to the examples discussed herein.

Computer programs based on the written description and methods of thisspecification are within the skill of a software developer. The variousprograms or program modules may be created using a variety ofprogramming techniques. For example, program sections or program modulesmay be designed in or by means of Java, C, C++, assembly language, orany such programming languages. One or more of such software sections ormodules may be integrated into a computer system, non-transitorycomputer-readable media, or existing communications software.

Moreover, while illustrative embodiments have been described herein, thescope includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations or alterations based on the presentdisclosure. The elements in the claims are to be interpreted broadlybased on the language employed in the claims and not limited to examplesdescribed in the present specification or during the prosecution of theapplication, which examples are to be construed as non-exclusive.Further, the steps of the disclosed methods may be modified in anymanner, including by reordering steps or inserting or deleting steps. Itis intended, therefore, that the specification and examples beconsidered as exemplary only, with the true scope and spirit beingindicated by the following claims and their full scope of equivalents.

What is claimed is:
 1. A computer-implemented method for generatingelectronic signatures, comprising: recognizing, by a processor, asigning device in a first image taken by an imaging device, therecognizing comprising distinguishing the signing device from asurrounding environment based on pixel features of the signing device,wherein the signing device is a finger or a hand and wherein recognizingthe signing device further comprises: capturing, via the imaging device,the first image showing an object; determining whether the objectoccupies more than a predetermined percentage of the first image; andidentifying the object as the signing device when it is determined thatthe object occupies more than the predetermined percentage of the firstimage; capturing, via the imaging device, a plurality of image framesincluding the pixel features of the signing device; identifying in theplurality of image frames, by the processor, pixels matching the pixelfeatures of the signing device; generating, by the processor, a secondimage including the identified pixels; connecting, by the processor, theidentified pixels within the second image to form at least one linedrawing representing a signature; detecting a change of gesture of thefinger or hand; generating a space, a punctuation mark, or a break inthe at least one line drawing representing the signature based on thechange of the gesture; and displaying the at least one line drawingrepresenting the signature in a graphical user interface.
 2. Thecomputer-implemented method of claim 1, wherein recognizing the signingdevice further comprises detecting an object with a predetermined shapewithin the first image.
 3. The computer-implemented method of claim 1,wherein capturing the plurality of image frames comprises capturing theimage frames successively in time.
 4. The computer-implemented method ofclaim 1, wherein the pixel features of the signing device comprise colorinformation including at least one of a red-green-blue (RGB) value, acyan-magenta-yellow-black (CMYK) value, a hue-saturation-lightness (HSL)value, a hue-saturation-value (HSV) value, a hexadecimal value, or aPantone matching system (PMS) value.
 5. The computer-implemented methodof claim 1, wherein the pixel features of the signing device comprisegreyscale values.
 6. The computer-implemented method of claim 1, whereinthe pixel features of the signing device comprise shape informationextracted from a binary image, converted from a greyscale image of thesigning device.
 7. The computer-implemented method of claim 1, whereinconnecting the identified pixels to form line drawings representing asignature comprises: interpolating the identified pixels in the firstimage to generate additional pixels; and connecting the identifiedpixels with the additional pixels to form the at least one line drawingrepresenting the signature.
 8. The computer-implemented method of claim1, wherein connecting the identified pixels to form the at least oneline drawing further comprises capturing the plurality of image framesat an increased frame rate to smooth the at least one line drawing. 9.The computer-implemented method of claim 1, further comprising:detecting a moving direction of the signing device based on theplurality of image frames; and generating a space, a punctuation mark,or a break in the at least one line drawing representing the signaturebased on a detected change of the moving direction.
 10. Thecomputer-implemented method of claim 1, further comprising: detecting amoving distance of the signing device along a first direction based onthe plurality of image frames; and generating a space, a punctuationmark, or a break in the at least one line drawing representing thesignature when the moving distance along the first direction exceeds apredetermined threshold.
 11. The computer-implemented method of claim 1,further comprising modifying the at least one line drawing representingthe signature based on user input on the graphical user interface. 12.The computer-implemented method of claim 11, wherein modifying the atleast one line drawing representing the signature further comprisesadding a space, a punctuation, or a break in the at least one linedrawing representing the signature based on the user input.
 13. Thecomputer-implemented method of claim 1, further comprising: generating,at different points in time, first line drawings representing a firstsignature, and second line drawings representing a second signature; andgenerating a space, a punctuation mark, or a break to separate the firstline drawings and the second line drawings.
 14. The computer-implementedmethod of claim 1, further comprising: acquiring confirmationinformation from a user; determining, based on the confirmationinformation, whether the user approves the at least one line drawingrepresenting the signature; and saving data representing the at leastone line drawing in response to determining that the user approves theat least one line drawing.
 15. The computer-implemented method of claim14, further comprising displaying, in the graphical user interface,before acquiring the confirmation information from the user, the atleast one line drawing representing the signature and a messagerequesting the user to approve the line drawings.
 16. Thecomputer-implemented method of claim 1, wherein: the connectinggenerates at least two line drawings, and the connecting furthercomprises determining a time sequence of the at least two line drawings.17. A system for generating electronic signatures, comprising: animaging device; a display; a memory storing instructions; and aprocessor in communication with the imaging device, the processor beingconfigured to execute the instructions to: recognize a signing device inan image taken by the imaging device, wherein the signing device is afinger or a hand; capture, via the imaging device, the image, the imageshowing an object; determine whether the object occupies more than apredetermined percentage of the image; identify the object as thesigning device when it is determined that the object occupies more thana predetermined percentage of the image; control the imaging device tocapture a plurality of image frames showing the signing device;identify, in the plurality of image frames, pixels matching recognizedpixel features of the signing device; generate a first image includingthe identified pixels, wherein the first image is a combined image;connect the identified pixels to form at least one line drawingrepresenting a signature; detect a change of gesture of the finger orhand; generate a space, a punctuation mark, or a break in the at leastone line drawing representing a signature based on the change of thegesture; and displaying, on the display, the at least one line drawingrepresenting the signature.
 18. A non-transitory computer-readablemedium storing instructions executable by a processor to cause theprocessor to perform operations for generating electronic signatures,the operations comprising: recognizing a signing device in a first imagetaken by an imaging device by at least distinguishing the signing devicefrom a surrounding environment based on pixel features of the signingdevice, wherein the signing device is a finger or a hand and whereinrecognizing the signing device further comprises: capturing, via theimaging device, the first image showing an object; determining whetherthe object occupies more than a predetermined percentage of the firstimage; and identifying the object as the signing device when it isdetermined that the object occupies more than the predeterminedpercentage of the first image; storing the pixel features of a signingdevice, wherein the pixel features include shape and color informationassociated with the signing device; capturing, via an imaging device, aplurality of image frames including the pixel features of the signingdevice; identifying in the plurality of image frames, by a processor,first pixels matching the stored pixel features of the signing device;generating, by the processor, a first image including the identifiedpixels; and connecting, by the processor, the identified pixels to format least one line drawing representing a signature; detecting a changeof gesture of the finger or hand; generating a space, a punctuationmark, or a break in the at least one line drawing representing thesignature based on the change of the gesture; and displaying the atleast one line drawing representing the signature in a graphical userinterface.